/*
 * @Author: luoyuxiang 398165@qq.com
 * @Date: 2025-03-09 17:40:23
 * @LastEditors: luoyuxiang 398165@qq.com
 * @LastEditTime: 2025-03-09 23:02:35
 * @FilePath: \formula-syn-vue\src\api\neo4j\diseases.ts
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
import request from "@/utils/request";

const IMPORTXML_BASE_URL = "/neo4j";

const Neo4jAPI = {
  /**
   * 根据疾病 ID 列表查询疾病节点
   * @param ids 疾病 ID 列表
   * @returns 疾病节点数据
   */
  getDiseasesByIds(ids: number[]): Promise<ApiResponse<Disease[]>> {
    return request({
      url: `${IMPORTXML_BASE_URL}/diseases`, // 请求路径
      method: "post", // 请求方法为 POST
      data: ids, // 请求体为疾病 ID 列表
    });
  },
};

export default Neo4jAPI;
// 定义药品类型
export interface Drug {
  id: string | null;
  name: string;
  gram: string | null;
}

// 定义疾病和药品的关系类型
export interface DiseaseDrugRelationship {
  type: string;
  drug: Drug;
}

// 定义疾病类型
export interface Disease {
  id: string;
  name: string;
  description: string | null;
  symptoms: string | null;
  drugs: DiseaseDrugRelationship[];
}

// 定义后端返回的数据结构
export interface ApiResponse<T> {
  code: string;
  data: T;
  msg: string;
}
